1. Field of the Invention
This invention relates to a storage subsystem, more particularly to a storage subsystem providing interfaces with an external network through a plurality of input/output ports and connectable to existing routers and other equipment without requiring any alterations at the external end thereof, that expands processing capability by distributing network packet traffic among the input/output ports so as to avoid load concentration.
2. Description of Related Art
In recent years, the explosive proliferation of the Internet and the emergence of gigabit Ethernet are enhancing network infrastructure, speed, and bandwidth. In addition, since a network using the Internet Protocol (IP) (xe2x80x9can IP networkxe2x80x9d hereinafter) has the advantages of low management and operating costs and higher interconnectivity than typically seen in Local Area Networks (LANs), the concept of a Storage Area Network (SAN) has emerged. A SAN refers to a network environment for storage-only devices, in which one or more host computers and one or more storage devices are linked together. The storage devices may include a disk array subsystem (hereinafter xe2x80x9ca storage subsystemxe2x80x9d).
The typical structure of a storage subsystem is described below with reference to FIG. 7.
FIG. 7 is a block diagram of a typical storage subsystem.
The storage subsystem 100 comprises a channel controller 105, a disk access controller 120, a coupled unit 110, and a storage device 130, and the coupled unit 110 includes a memory controller 140.
The channel controller 105 receives an access request from a host computer, analyzes the access request and performs other processing. The disk access controller 120 controls the channel controller 105""s access to the storage device 130.
The coupled unit 110 provides coupling between the channel controller 105 and the disk access controller 120. The memory controller 140 stores the control information about data transmission between the channel controller 105 and the disk access controller 120, and stores data that a host computer reads from and writes to the storage device 130.
The storage device 130 comprises hard disk devices that store a large amount of data.
As the network speed and bandwidth increase, increasing access requests from host computers arrive, which places mounting loads on the storage device. Due to this background, technology for balancing storage device loads has been proposed. For example, JP-A-330924/2000 discloses a method for a host computer side to detect routes of access to a target storage device, and to balance the load on the storage device among the routes of access.
However, the prior art described above balances load by having the host computer provide a unique number identifying the target storage device. Therefore, there is a problem in that the host computer requires an additional means for providing unique numbers for storage devices so as to lack expandability.
In general, servers and other equipment on an Ethernet network have network addresses known as Internet Protocol (IP) addresses and Media Access Control (MAC) addresses, so they do not require the additional means mentioned above. A router distributes the access load with these network addresses. Typical functions of a router include a routing function by which a route of transmission to a destination IP network address is found. Protocols supporting the routing function include the Route Information Protocol (RIP), and the Open Shortest Path First (OSPF).
Extensions of the routing function using protocols, such as RIP and OSPF, includes a function (xe2x80x9ca multi-path functionxe2x80x9d hereinafter) for performing load balancing among a plurality of routes of transmission to a destination IP address thereby using alternative routes when a failure occurs on one of the routes.
The multi-path function is described briefly with reference to FIG. 8 and FIG. 9.
FIG. 8 is a drawing showing an example of a network structure having a plurality of network relay routes.
FIG. 9 is a drawing showing routing tables and a table of information of a multi-path of a router.
In the network structure shown in FIG. 8, routes of access from a relay router 201 in a network 220 to a server 210 within a local site 230 include three routes of relay between networks 205, 206, and 207.
Within the local site 230, since there is an edge router 208 with only one route to the server 210, the question in this case concerns the routes between the relay router 201 and the edge router 208.
In the example shown in FIG. 8, since there are three routes of access between the relay router 201 and the edge router 208, the server 210 can be accessed through any of the routes of relay between networks 205, 206, and 207.
In order to describe the multi-path function, a routing table for a conventional routing function, shown in FIG. 9(a), is described. The main elements of the routing table are a destination address 301 that gives a destination IP address, a subnet mask 302 that gives mask information for identifying the network including the address given by the destination address 301, a next hop address 303 that gives the IP address of the next relay router, and an output interface 304 that indicates which output port in the router is linked to the next relay router.
FIG. 9(b) shows a routing table used when there are a plurality of next hop routers, or a plurality of routes of access. In the routing table in FIG. 9(b), although the destination address 301 and subnet mask 302 are the same as in FIG. 9(a), a plurality of next hop addresses are registered as information of multi-path 310. The information of multi-path 310 includes information about the routes concerned (route 1, route 2, and route 3) and the output interfaces (output interface A, output interface B, and output interface C) (311, 312, and 313). If there are a plurality of routes to an address given by the destination address 301, the output port is selected from the routes that have been registered in the information of multi-path 310. The multi-path function accordingly implements access load balancing by using a plurality of routes of access without requiring additional means at the host computer.
However, there is a restriction that the multi-path function and routing protocols are applicable only when there are a plurality of routes of access to a single IP address. That is, even if there are a plurality of routes, the target network device must be treated as a single device.
If a storage subsystem having a plurality of input/output ports is used in an IP network, each of the input/output ports has an IP address and a MAC address. Therefore, a plurality of IP addresses and MAC addresses exist in the storage subsystem, presenting a problem that makes it impossible to use the multi-path function.
If the multi-path function is not used, users external to the network must communicate with the input/output ports by using their IP addresses and MAC addresses or must add additional equipment for load balancing.
An object of the present invention is to provide a storage subsystem having a plurality of input/output ports, that enables access on the storage subsystem and to balance the load over the plurality of input/output ports without requiring additional means in the external network environment or a host computer, and to establish connections with networks easily using the functions of currently available network equipment.
To attain this object, the present invention implements load balancing and expands processing capability by making the channel controllers within a storage subsystem having a plurality of input/output ports behave as virtual routers on the routes to a virtual destination IP address, which is assigned to a storage device within the storage subsystem to take advantage of the conventional multi-path function of existing routers. Alternatively, the present invention assigns IP addresses to individual units (e.g. individual volumes or individual storage devices) to implement access load balancing within those individual units. Furthermore, the invention addresses requests for network bandwidth from customers with the storage subsystem, which is adopted to handle accessing peak times, by updating the address management tables of channel controllers.
This invention therefore provides a storage subsystem that balances access loads on the storage subsystem at the plurality of input/output ports without additional means in the external network environment or a host computer. At the same time, the storage subsystem interfaces with a network by using the functions of currently available network equipment.
Other and further objects, features and advantages of the invention will appear more fully from the following description.